﻿


/// função para imprimir

function CallPrint(strid) {
    var prtContent = document.getElementById(strid);
    var WinPrint = window.open('', '', 'letf=0,top=0,width=900px,height=900px,toolbar=0,scrollbars=1,status=0');
    WinPrint.document.write(prtContent.innerHTML);
    WinPrint.document.close();
    WinPrint.focus();
    WinPrint.print();
    //  WinPrint.close();
    prtContent.innerHTML = strOldOne;
}

/// função para esconder painel ou DIV

// com div com orverflou
function mostrar(id, id1, id2) {
    var div = document.getElementById('conteudo1');
    var div1 = document.getElementById('conteudo2');
    var div2 = document.getElementById('over');


    if (div.style.display == 'block') {
        div.style.display = 'none';
        div1.style.width = 900;
        div2.style.width = 900;

    }
    else {
        div.style.display = 'block';
        div1.style.width = 775;
        div2.style.width = 770;
    }
}



function mostrar1(id, id1) {
    var div = document.getElementById('conteudo1');
    var div1 = document.getElementById('conteudo2');

    if (div.style.display == 'block') {
        div.style.display = 'none';
        div1.style.width = 900;


    }
    else {
        div.style.display = 'block';
        div1.style.width = 775;
    }
}

function formataMascara(campo, evt, formato) {
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;


    var result = "";
    var maskIdx = formato.length - 1;
    var error = false;
    var valor = campo.value;
    var posFinal = false;
    if (campo.setSelectionRange) {
        if (campo.selectionStart == valor.length)
            posFinal = true;
    }

    valor = valor.replace(/[^0123456789Xx]/g, '');
    for (var valIdx = valor.length - 1; valIdx >= 0 && maskIdx >= 0; --maskIdx) {
        var chr = valor.charAt(valIdx);
        var chrMask = formato.charAt(maskIdx);
        switch (chrMask) {
            case '#':
                if (!(/\d/.test(chr)))
                    error = true;
                result = chr + result;
                --valIdx;
                break;
            case '@':
                result = chr + result;
                --valIdx;
                break;
            default:
                result = chrMask + result;
        }
    }

    campo.value = result;
    campo.style.color = error ? 'red' : '';
    if (posFinal) {
        campo.selectionStart = result.length;
        campo.selectionEnd = result.length;
    }
    return result;
}

// Formata o campo valor monetário
function formataValor(campo, evt) {
    //1.000.000,00
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));
    if (vr.length > 0) {
        vr = parseFloat(vr.toString()).toString();
        tam = vr.length;

        if (tam == 1)
            campo.value = "0,0" + vr;
        if (tam == 2)
            campo.value = "0," + vr;
        if ((tam > 2) && (tam <= 5)) {
            campo.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 6) && (tam <= 8)) {
            campo.value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 9) && (tam <= 11)) {
            campo.value = vr.substr(0, tam - 8) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 12) && (tam <= 14)) {
            campo.value = vr.substr(0, tam - 11) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 15) && (tam <= 18)) {
            campo.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
    }
    MovimentaCursor(campo, xPos);
}

// Formata data no padrão DD/MM/YYYY
function formataData(campo, evt) {
    var xPos = PosicaoCursor(campo);
    //dd/MM/yyyy
    evt = getEvent(evt);

    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;
    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;

    if (tam >= 2 && tam < 4)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2);
    if (tam == 4)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/';
    if (tam > 4)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4);

    MovimentaCursor(campo, xPos);
}

//descobre qual a posição do cursor no campo
function PosicaoCursor(textarea) {
    var pos = 0;
    if (typeof (document.selection) != 'undefined') {
        //IE
        var range = document.selection.createRange();
        var i = 0;
        for (i = textarea.value.length; i > 0; i--) {
            if (range.moveStart('character', 1) == 0)
                break;
        }
        pos = i;
    }
    if (typeof (textarea.selectionStart) != 'undefined') {
        //FireFox
        pos = textarea.selectionStart;
    }

    if (pos == textarea.value.length)
        return 0; //retorna 0 quando não precisa posicionar o elemento
    else
        return pos; //posição do cursor
}

// move o cursor para a posição pos
function MovimentaCursor(textarea, pos) {
    if (pos <= 0)
        return; //se a posição for 0 não reposiciona

    if (typeof (document.selection) != 'undefined') {
        //IE
        var oRange = textarea.createTextRange();
        var LENGTH = 1;
        var STARTINDEX = pos;

        oRange.moveStart("character", -textarea.value.length);
        oRange.moveEnd("character", -textarea.value.length);
        oRange.moveStart("character", pos);
        //oRange.moveEnd("character", pos);
        oRange.select();
        textarea.focus();
    }
    if (typeof (textarea.selectionStart) != 'undefined') {
        //FireFox
        textarea.selectionStart = pos;
        textarea.selectionEnd = pos;
    }
}

//Formata data e hora no padrão DD/MM/YYYY HH:MM
function formataDataeHora(campo, evt) {
    xPos = PosicaoCursor(campo);
    //dd/MM/yyyy
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;
    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;

    if (tam >= 2 && tam < 4)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2);
    if (tam == 4)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/';
    if (tam > 4)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4);
    if (tam > 8 && tam < 11)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4) + ' ' + vr.substr(8, 2);
    if (tam >= 11)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4) + ' ' + vr.substr(8, 2) + ':' + vr.substr(10);

    campo.value = campo.value.substr(0, 16);
    //    if(xPos == 2 || xPos == 5)
    //        xPos = xPos +1;
    //    if(xPos == 11 || xPos == 14)
    //        xPos = xPos +2;
    MovimentaCursor(campo, xPos);
}

// Formata só números
function formataInteiro(campo, evt) {
    //1234567890
    xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    campo.value = filtraNumeros(filtraCampo(campo));
    MovimentaCursor(campo, xPos);
}

// Formata hora no padrao HH:MM
function formataHora(campo, evt) {
    //HH:mm
    xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));

    if (tam == 2)
        campo.value = vr.substr(0, 2) + ':';
    if (tam > 2 && tam < 5)
        campo.value = vr.substr(0, 2) + ':' + vr.substr(2);
    //    if(xPos == 2)
    //        xPos = xPos + 1;
    MovimentaCursor(campo, xPos);
}

// limpa todos os caracteres especiais do campo solicitado
function filtraCampo(campo) {
    var s = "";
    var cp = "";
    vr = campo.value;
    tam = vr.length;
    for (i = 0; i < tam; i++) {
        if (vr.substring(i, i + 1) != "/"
            && vr.substring(i, i + 1) != "-"
            && vr.substring(i, i + 1) != "."
            && vr.substring(i, i + 1) != "("
            && vr.substring(i, i + 1) != ")"
            && vr.substring(i, i + 1) != ":"
            && vr.substring(i, i + 1) != ",") {
            s = s + vr.substring(i, i + 1);
        }
    }
    return s;
    //return campo.value.replace("/", "").replace("-", "").replace(".", "").replace(",", "")
}

// limpa todos caracteres que não são números
function filtraNumeros(campo) {
    var s = "";
    var cp = "";
    vr = campo;
    tam = vr.length;
    for (i = 0; i < tam; i++) {
        if (vr.substring(i, i + 1) == "0" ||
            vr.substring(i, i + 1) == "1" ||
            vr.substring(i, i + 1) == "2" ||
            vr.substring(i, i + 1) == "3" ||
            vr.substring(i, i + 1) == "4" ||
            vr.substring(i, i + 1) == "5" ||
            vr.substring(i, i + 1) == "6" ||
            vr.substring(i, i + 1) == "7" ||
            vr.substring(i, i + 1) == "8" ||
            vr.substring(i, i + 1) == "9") {
            s = s + vr.substring(i, i + 1);
        }
    }
    return s;
    //return campo.value.replace("/", "").replace("-", "").replace(".", "").replace(",", "")
}

// limpa todos caracteres que não são letras
function filtraCaracteres(campo) {
    vr = campo;
    for (i = 0; i < tam; i++) {
        //Caracter
        if (vr.charCodeAt(i) != 32 && vr.charCodeAt(i) != 94 && (vr.charCodeAt(i) < 65 ||
        (vr.charCodeAt(i) > 90 && vr.charCodeAt(i) < 96) ||
            vr.charCodeAt(i) > 122) && vr.charCodeAt(i) < 192) {
            vr = vr.replace(vr.substr(i, 1), "");
        }
    }
    return vr;
}

// limpa todos caracteres que não são números, menos a vírgula
function filtraNumerosComVirgula(campo) {
    var s = "";
    var cp = "";
    vr = campo;
    tam = vr.length;
    var complemento = 0; //flag paga contar o número de virgulas
    for (i = 0; i < tam; i++) {
        if ((vr.substring(i, i + 1) == "," && complemento == 0 && s != "") ||
            vr.substring(i, i + 1) == "0" ||
            vr.substring(i, i + 1) == "1" ||
            vr.substring(i, i + 1) == "2" ||
            vr.substring(i, i + 1) == "3" ||
            vr.substring(i, i + 1) == "4" ||
            vr.substring(i, i + 1) == "5" ||
            vr.substring(i, i + 1) == "6" ||
            vr.substring(i, i + 1) == "7" ||
            vr.substring(i, i + 1) == "8" ||
            vr.substring(i, i + 1) == "9") {
            if (vr.substring(i, i + 1) == ",")
                complemento = complemento + 1;
            s = s + vr.substring(i, i + 1);
        }
    }
    return s;
}

function formataMesAno(campo, evt) {
    //MM/yyyy
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;

    if (tam >= 2)
        campo.value = vr.substr(0, 2) + '/' + vr.substr(2);
    MovimentaCursor(campo, xPos);
}

function formataCNPJ(campo, evt) {
    //99.999.999/9999-99
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;

    if (tam >= 2 && tam < 5)
        campo.value = vr.substr(0, 2) + '.' + vr.substr(2);
    else if (tam >= 5 && tam < 8)
        campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5);
    else if (tam >= 8 && tam < 12)
        campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8);
    else if (tam >= 12)
        campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8, 4) + '-' + vr.substr(12);
    MovimentaCursor(campo, xPos);
}

function formataCPF(campo, evt) {
    //999.999.999-99
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;
    if (tam >= 3 && tam < 6)
        campo.value = vr.substr(0, 3) + '.' + vr.substr(3);
    else if (tam >= 6 && tam < 9)
        campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6);
    else if (tam >= 9)
        campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6, 3) + '-' + vr.substr(9);
    MovimentaCursor(campo, xPos);
}

function formataDouble(campo, evt) {
    //18,53012
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    campo.value = filtraNumerosComVirgula(campo.value);
    MovimentaCursor(campo, xPos);
}

function formataTelefone(campo, evt) {
    //(00) 0000-0000
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;

    if (tam == 1)
        campo.value = '(' + vr;
    else if (tam >= 2 && tam < 6)
        campo.value = '(' + vr.substr(0, 2) + ') ' + vr.substr(2);
    else if (tam >= 6)
        campo.value = '(' + vr.substr(0, 2) + ') ' + vr.substr(2, 4) + '-' + vr.substr(6);

    //(
    //    if(xPos == 1 || xPos == 3 || xPos == 5 || xPos == 9)
    //        xPos = xPos +1
    MovimentaCursor(campo, xPos);
}

function formataTexto(campo, evt, sMascara) {
    //Nome com Inicial Maiuscula.
    evt = getEvent(evt);
    xPos = PosicaoCursor(campo);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;
    vr = campo.value = filtraCaracteres(filtraCampo(campo));
    tam = vr.length;

    if (sMascara == "Aa" || sMascara == "Xx") {
        var valor = campo.value.toLowerCase();
        var count = campo.value.split(" ").length - 1;
        var i;
        var pos = 0;
        var valorIni;
        var valorMei;
        var valorFim;
        valor = valor.substring(0, 1).toUpperCase() + valor.substring(1, valor.length);
        for (i = 0; i < count; i++) {
            pos = valor.indexOf(" ", pos + 1);
            valorIni = valor.substring(0, valor.indexOf(" ", pos - 1)) + " ";
            valorMei = valor.substring(valor.indexOf(" ", pos) + 1, valor.indexOf(" ", pos) + 2).toUpperCase();
            valorFim = valor.substring(valor.indexOf(" ", pos) + 2, valor.length);
            valor = valorIni + valorMei + valorFim;
        }
        campo.value = valor;
    }
    if (sMascara == "Aaa" || sMascara == "Xxx") {
        var valor = campo.value.toLowerCase();
        var count = campo.value.split(" ").length - 1;
        var i;
        var pos = 0;
        var valorIni;
        var valorMei;
        var valorFim;
        var ligacao = false;
        var chrLigacao = Array("de", "da", "do", "para", "e")
        valor = valor.substring(0, 1).toUpperCase() + valor.substring(1, valor.length);
        for (i = 0; i < count; i++) {
            ligacao = false;
            pos = valor.indexOf(" ", pos + 1);
            valorIni = valor.substring(0, valor.indexOf(" ", pos - 1)) + " ";
            for (var a = 0; a < chrLigacao.length; a++) {
                if (valor.substring(valorIni.length, valor.indexOf(" ", valorIni.length)).toLowerCase() == chrLigacao[a].toLowerCase()) {
                    ligacao = true;
                    break;
                }
                else if (ligacao == false && valor.indexOf(" ", valorIni.length) == -1) {
                    if (valor.substring(valorIni.length, valor.length).toLowerCase() == chrLigacao[a].toLowerCase()) {
                        ligacao = true;
                        break;
                    }
                }
            }
            if (ligacao == true) {
                valorMei = valor.substring(valor.indexOf(" ", pos) + 1, valor.indexOf(" ", pos) + 2).toLowerCase();
            }
            else {
                valorMei = valor.substring(valor.indexOf(" ", pos) + 1, valor.indexOf(" ", pos) + 2).toUpperCase();
            }
            valorFim = valor.substring(valor.indexOf(" ", pos) + 2, valor.length);
            valor = valorIni + valorMei + valorFim;
        }

        campo.value = valor;
    }
    MovimentaCursor(campo, xPos);
    return true;
}

// Formata o campo CEP
function formataCEP(campo, evt) {
    //312555-650
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;

    if (tam < 5)
        campo.value = vr;
    else if (tam == 5)
        campo.value = vr + '-';
    else if (tam > 5)
        campo.value = vr.substr(0, 5) + '-' + vr.substr(5);
    MovimentaCursor(campo, xPos);
}

function formataCartaoCredito(campo, evt) {
    //0000.0000.0000.0000
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    var vr = campo.value = filtraNumeros(filtraCampo(campo));
    var tammax = 16;
    var tam = vr.length;

    if (tam < tammax && tecla != 8)
    { tam = vr.length + 1; }

    if (tam < 5)
    { campo.value = vr; }
    if ((tam > 4) && (tam < 9))
    { campo.value = vr.substr(0, 4) + '.' + vr.substr(4, tam - 4); }
    if ((tam > 8) && (tam < 13))
    { campo.value = vr.substr(0, 4) + '.' + vr.substr(4, 4) + '.' + vr.substr(8, tam - 4); }
    if (tam > 12)
    { campo.value = vr.substr(0, 4) + '.' + vr.substr(4, 4) + '.' + vr.substr(8, 4) + '.' + vr.substr(12, tam - 4); }
    MovimentaCursor(campo, xPos);
}


//recupera tecla

//evita criar mascara quando as teclas são pressionadas
function teclaValida(tecla) {
    if (tecla == 8 //backspace
    //Esta evitando o post, quando são pressionadas estas teclas.
    //Foi comentado pois, se for utilizado o evento texchange, é necessario o post.
        || tecla == 9 //TAB
        || tecla == 27 //ESC
        || tecla == 16 //Shif TAB
        || tecla == 45 //insert
        || tecla == 46 //delete
        || tecla == 35 //home
        || tecla == 36 //end
        || tecla == 37 //esquerda
        || tecla == 38 //cima
        || tecla == 39 //direita
        || tecla == 40)//baixo
        return false;
    else
        return true;
}

// recupera o evento do form
function getEvent(evt) {
    if (!evt) evt = window.event; //IE
    return evt;
}
//Recupera o código da tecla que foi pressionado
function getKeyCode(evt) {
    var code;
    if (typeof (evt.keyCode) == 'number')
        code = evt.keyCode;
    else if (typeof (evt.which) == 'number')
        code = evt.which;
    else if (typeof (evt.charCode) == 'number')
        code = evt.charCode;
    else
        return 0;

    return code;
}
function formataInscricaoestadual(campo, evt) {

    //110.042.490.114
    var xPos = PosicaoCursor(campo);
    evt = getEvent(evt);
    var tecla = getKeyCode(evt);
    if (!teclaValida(tecla))
        return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));
    tam = vr.length;
    if (tam >= 3 && tam < 6)
        campo.value = vr.substr(0, 3) + '.' + vr.substr(3);
    else if (tam >= 6 && tam < 9)
        campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6);
    else if (tam >= 9)
        campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6, 3) + '.' + vr.substr(9.3);
    MovimentaCursor(campo, xPos);
}

function ValidaEmail(form_id, email) {

    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if (reg.test(email) == false) {
        return true;
    }
    return false;
}

function ValidaEmails(emails) {
    var arr = emails.replace(/ /g, "").replace(/\n/g, "").split(";");
    var bool = false;
    var exp = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
    for (var i = 0; i < arr.length; i++) {
        if (!exp.test(arr[i])) {
            bool = true;
        }
    }
    return bool;
}

function ValidarCNPJ(ObjCnpj) {
    var cnpj = ObjCnpj.trim();
    var valida = new Array(6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2);
    var dig1 = new Number;
    var dig2 = new Number;

    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace(exp, "");
    var digito = new Number(eval(cnpj.charAt(12) + cnpj.charAt(13)));

    for (i = 0; i < valida.length; i++) {
        dig1 += (i > 0 ? (cnpj.charAt(i - 1) * valida[i]) : 0);
        dig2 += cnpj.charAt(i) * valida[i];
    }
    dig1 = (((dig1 % 11) < 2) ? 0 : (11 - (dig1 % 11)));
    dig2 = (((dig2 % 11) < 2) ? 0 : (11 - (dig2 % 11)));

    if (((dig1 * 10) + dig2) != digito)
    { return true; }
    else {
        return false;
    }
}

function ValidaCPF(cpf) {
    cpf = cpf.replace(/[^\d]/g, "");
    if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
        return false;

    var add = 0;
    for (var i = 0; i < 9; i++) { add += parseInt(cpf.charAt(i)) * (10 - i); }
    var rev = 11 - (add % 11);
    if (rev == 10 || rev == 11) { rev = 0; }
    if (rev != parseInt(cpf.charAt(9))) { return false; }
    add = 0;
    for (var i = 0; i < 10; i++) { add += parseInt(cpf.charAt(i)) * (11 - i); }
    rev = 11 - (add % 11);
    if (rev == 10 || rev == 11) { rev = 0; }
    if (rev != parseInt(cpf.charAt(10))) { return false; }

    return true;
}

function ValidaCNPJ(cnpj) {
    cnpj = cnpj.replace(/[^\d]/g, "");
    if (cnpj.length < 14)
        return false;

    var digitos_iguais = 1;
    var len = cnpj.length - 1;
    for (var i = 0; i < len; i++) {
        if (cnpj.charAt(i) != cnpj.charAt(i + 1)) {
            digitos_iguais = 0;
            break;
        }
    }
    if (!digitos_iguais) {
        var tam = cnpj.length - 2;
        var num = cnpj.substring(0, tam);
        var digs = cnpj.substring(tam);
        var soma = 0;
        var pos = tam - 7;
        for (i = tam; i >= 1; i--) {
            soma += num.charAt(tam - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        var result = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (result != digs.charAt(0))
            return false;
        tam = tam + 1;
        num = cnpj.substring(0, tam);
        soma = 0;
        pos = tam - 7;
        for (var i = tam; i >= 1; i--) {
            soma += num.charAt(tam - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        result = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (result != digs.charAt(1))
            return false;

        return true;
    } else {
        return false;
    }
}


function CheckIsento() {

    var txtIS = "*[id$='txtIS']";
    var txis = $(txtIS);
    if ($('[id$=chkIs]')[0] != undefined) {
        if ($('[id$=chkIs]')[0].checked == true) {
            txis[0].value = 'ISENTO';
            txis[0].disabled = true;

        }
        else {
            txis[0].value = '';
            txis[0].disabled = false;
        }
    }
}




function validarpagina(pagina, tipocliente, query) {

    /// var paramQuery = (queryString("act") == null) ? 0 : parseInt(queryString("act"));

    var txtnomecliente = "*[id$='txtCliente']";
    var txtnome = $(txtnomecliente);
    var lblerro = "*[id$='lblerro']";
    var lberro = $(lblerro);
    var pnl1 = "*[id$='pnlerro']";
    var pn = $(pnl1);
    var txtemail = "*[id$='txtemail']";
    var txtContato = "*[id$='txtContato']";
    var txemail = $(txtemail);
    var ddltipotelefone = "*[id$='ddltipotelefone']";
    var tc = $(ddltipotelefone);
    var txttelefone = "*[id$='txttelefone']";
    var ltbtelefone = "*[id$='ltbtelefone']";
    var chkIs = "*[id$='chkIs']";
    var txtIS = "*[id$='txtIS']";
    var txie = $(txtIS);
    var pnlJuridica = "*[id$='pnlJuridica']";
    var txtCNPJ = "*[id$='txtCNPJ']";
    var txcnpj = $(txtCNPJ);
    var pnlFisica = "*[id$='pnlFisica']";
    var txtRg = "*[id$='txtRg']";
    var txrg = $(txtRg);
    var txtCPF = "*[id$='txtCPF']";
    var txcpf = $(txtCPF);
    var txtCep = "*[id$='txtCep']";
    var tcep = $(txtCep);
    var txtLogradouro = "*[id$='txtLogradouro']";
    var te = $(txtLogradouro);
    var txtnumero = "*[id$='txtnumero']";
    var tn = $(txtnumero);

    switch (pagina) {
        case 'cliente':
            if (tipocliente == 0 && query == 0) {
                $(pn).show();
                $(lberro).text('Selecione o Tipo de Cliente');
                return false;
            }
            else if (txtnome.val() == "") {
                $(pn).show();
                $(lberro).text('Digite o Nome do Cliente');
                txtnome.focus();
                return false;
            }
            else if (txemail.val() == "") {

                $(pn).show();
                $(lberro).text('Digite o E-Mail');
                txemail.focus();
                return false;
            }
            else if ($('[id$=ltbtelefone]')[0].length <= 0) {
                $(pn).show();
                $(lberro).text('Digite o Telefone');
                tc.focus();
                return false;
            }
            else if (tcep.val() == "") {
                $(pn).show();
                $(lberro).text('Digite o Cep do Cliente');
                tc.focus();
                return false;
            }
            else if (te.val() == "" && tcep.val() != "") {
                $(pn).show();
                $(lberro).text('Cep Invalido');
                tc.focus();
                return false;
            }
            else if (tn.val() == "") {
                $(pn).show();
                $(lberro).text('Digite o Numero do Endereço do Cliente');
                tn.focus();
                return false;
            }
            else if (txie.val() == "" && tipocliente == 1) {
                $(pn).show();
                $(lberro).text('Digite a Inscrição Estadual');
                txie.focus();
                return false;
            }
            else if (txcnpj.val() == "" && tipocliente == 1) {
                $(pn).show();
                $(lberro).t
                ext('Digite o CNPJ');
                txcnpj.focus();
                return false;
            }
            else if (txrg.val() == "" && tipocliente == 2) {
                $(pn).show();
                $(lberro).text('Digite o Rg');
                txrg.focus();
                return false;
            }
            else if (txcpf.val() == "" && tipocliente == 2) {
                $(pn).show();
                $(lberro).text('Digite o CPF');
                txcpf.focus();
                return false;
            }
            else if (ValidaEmails(txemail.val())) {
                $(pn).show();
                $(lberro).text('Endereço de Email Invalido');
                txemail.focus();
                return false;
            }
            else if (tipocliente == 1) {
                if (ValidarCNPJ(txcnpj.val())) {
                    $(pn).show();
                    $(lberro).text('CNPJ INVALIDO')
                    txcnpj.focus();
                    return false;
                }
            }
            else if (tipocliente == 2) {
                if (!(ValidaCPF(txcpf.val()))) {
                    $(pn).show();
                    $(lberro).text('CPF INVALIDO')
                    txcpf.focus();
                    return false;
                }
            }
            else {
                $(pn).show();
            }
            break;
    }
}

function Alerta(texto, titulo, page, width, OK) {
    window.top.Alerta(texto, titulo, page, width, OK);
}

function Alerta(texto, titulo, page, width, OK) {

    if (typeof titulo == "undefined") { titulo = Linguage.Aviso; }
    if (typeof page == "undefined") { page = ""; }
    if (typeof width == "undefined") { width = 400; }
    if (typeof OK == "undefined") { OK = function () { } }
    $("#dialog").html("<p>" + texto + "</p>").dialog("destroy").dialog({
        modal: true,
        title: titulo,
        width: width,
        buttons: { OK: function () { $(this).dialog("close"); } },
        close: function () { OK(); if (page != "") { window.location = page; } },
        create: function () {
            if ($.browser.msie && /msie 6\.0/i.test(navigator.userAgent)) { //IE6
                $(this.parentNode).css("position", "absolute")
            } else {
                $(this.parentNode).css("position", "fixed");
            }
        }
    });
    return false;
}

function RetornaSelecionado(config, retorno, descricao) {
    window.top.PreencheRetorno(config, retorno, descricao);
    window.top.FecharModal();
    return false;
}

function FecharModal() {
    window.top.FecharModal();
    return false;
}

function e$(id) {
    return document.getElementById(id);
}

var JSON = {};
JSON.Stringify = function (obj) { //Converte um objeto ou array em string para o SVC
    var t = typeof (obj);
    if (t != "object" || obj === null) {
        if (t == "string") obj = '"' + obj + '"';
        return String(obj);
    } else {
        var n, v, json = [], arr = (obj && obj.constructor == Array);
        for (n in obj) {
            v = obj[n]; t = typeof (v);
            if (t == "string") v = '"' + v + '"';
            else if (t == "object" && v !== null) v = JSON.Stringify(v);
            json.push((arr ? "" : '"' + n + '":') + String(v));
        }
        return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
    }
}
JSON.DateToString = function (data) { //Converte um objeto data em string para o SVC
    return "\/Date(" + data.getTime() + ")\/";
}

function QueryString(variavel) {
    var vars = location.search.replace(/\x3F/, "").replace(/\x2B/g, " ").split("&");
    if (vars == "")
        return "";
    var qs = [];
    for (var i = 0; i < vars.length; i++) {
        var nvar = vars[i].split("=");
        qs[nvar[0]] = unescape(nvar[1]);
    }
    return typeof qs[variavel] == "undefined" ? "" : $.trim(qs[variavel]);
}


function RemoverTel() {

    var list;
    $('[id$=ltbtelefone] > option:selected').each(function (index) {
        list += $('[id$=ltbtelefone] > option:selected').val() + "|";
    });

    $.ajax({
        type: "POST",
        url: "WSAjax.asmx/RemoverTel",
        data: "{lista:'" + JSON.Stringify(list) + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (jsonResult) {
            Popular(jsonResult);

        }

    });

}
function PopularTel() {
    var ddltipotel = $('[id$=ddltipotelefone] > option:selected').text();
    var ddltipotelefone = "*[id$='ddltipotelefone']";
    var tc = $(ddltipotelefone);
    var ltbtelefone = $('[id$=ltbtelefone]');
    var txttelefone = "*[id$='txttelefone']";
    var tele = $(txttelefone);
    $.ajax({
        type: "POST",
        url: "WSAjax.asmx/AddTelefone",
        data: "{telvalor:'" + tc.val() + "',count:'" + ltbtelefone.length + "',teltext:'" + tele.val() + "',tipotelefone:'" + ddltipotel + "'}",
        contentType: "application/json; charset=utf-8",
        beforeSend: function () {
            $.blockUI({
                message: $('#MsgAguarde'),
                showOverlay: false,
                centerY: false,
                css: {
                    top: ($(window).height() - 400) / 2 + 'px',
                    left: ($(window).width() - 600) / 2 + 'px',
                    width: '600px',
                    height: '120px',
                    border: 'none',
                    opacity: .6,
                    color: '#fff'


                }

            });
            setTimeout($.unblockUI, 1000);
        },
        dataType: "json",
        success: function (jsonResult) {
            Popular(jsonResult);

        },
        error: function (jsonResult, status, error) {
            var r = jQuery.evalJSON(jsonResult.responseText);
             alert(r.Message);
            return false;
        }


    });

}

function Popular(retorno) {
    if (retorno != null) {
        var json = retorno.d;
        $('[id$=ltbtelefone]').empty();
        $.each(json, function (i, item) {
            $('[id$=ltbtelefone]').append('<option value=' + item.idvalue + '>' + item.telefone + '</option>');

        });

    }
}
        